reference_dpi
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Thu, 15 Aug 2019 14:15:39 +0000 (15:15 +0100)
committerDmitry Shachnev <mitya57@debian.org>
Thu, 15 Aug 2019 14:15:39 +0000 (15:15 +0100)
Gbp-Pq: Name reference_dpi.diff

src/plugins/platforms/xcb/qxcbscreen.cpp

index a696e2a3112022f28bd6df50126fb264441837a9..c34c72ac0a897f2597522e22afb75b1d50ef5221 100644 (file)
@@ -746,7 +746,11 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation)
         m_sizeMillimeters = sizeInMillimeters(geometry.size(), m_virtualDesktop->dpi());
 
     qreal dpi = geometry.width() / physicalSize().width() * qreal(25.4);
-    m_pixelDensity = qMax(1, qRound(dpi/96));
+
+    // Use 128 as a reference DPI on small screens. This favors "small UI" over "large UI".
+    qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
+
+    m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
     m_geometry = geometry;
     m_availableGeometry = geometry & m_virtualDesktop->workArea();
     QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);